1. Field of the Invention
This invention relates to the field of computer graphics systems. More particularly, this invention relates to a command preprocessor for a high performance three dimensional graphics accelerator in a computer system.
2. Art Background
A three dimensional graphics accelerator is a specialized graphics rendering subsystem for a computer system. An application program executing on a host processor of the computer system generates three dimensional geometry input data that defines three dimensional graphics elements for display on a display device. The application program typically transfers the geometry input data from the host processor to the graphics accelerator. Thereafter, the graphics accelerator renders the corresponding graphics elements on the display device.
A typical application program generates the three dimensional geometry input data according to a predefined format for defining three dimensional graphics elements. An example of a predefined format is the PHIGS standard. However, a proliferation of differing predefined formats and variations of existing formats has recently occurred. A high performance graphics accelerator is typically required to support many of the differing predefined formats, even though the differing formats define similar drawing functions.
Some prior graphics systems support the differing predefined formats by micro-coding the graphics accelerator to process geometry data according to many of the differing predefined formats. In such systems, the graphics accelerator includes micro-code tasks for disassembling and translating the differing formats prior to rendering the corresponding graphics elements. Unfortunately, such micro-code tasks greatly increase the size and complexity of the graphics accelerator micro-code, thereby increasing graphics accelerator cost and decreasing rendering performance.
Other prior graphics systems support the differing predefined formats by employing the host processor to translate the differing formats into a simplified format for the graphics accelerator. Unfortunately, the format translation by the host processor is a system bottleneck that may severely decrease throughput to the graphics accelerator, thereby decreasing overall graphics system performance.
As will be described, the present invention is a command preprocessor in a graphics accelerator that translates the differing geometry input data formats into a common format, thereby enabling a higher performance and relatively low cost graphics accelerator.